<template>
  <div>
    <UploadsExcel :on-success="handleSuccess" />
  </div>
</template>
<script>
import { importEmployee } from '@/api/employees'
import { formatExcelDate } from '@/utils'
export default {
  name: '',
  data() {
    return {}
  },
  computed: {},
  created() {},
  methods: {
    transData(results) {
      // 1-处理数据
      const mapInfo = {
        入职日期: 'timeOfEntry',
        手机号: 'mobile',
        姓名: 'username',
        转正日期: 'correctionTime',
        工号: 'workNumber',
        部门: 'departmentName',
        聘用形式: 'formOfEmployment'
      }
      var whiteList = ['timeOfEntry', 'correctionTime']
      return results.map((item) => {
        console.log(item, 779)
        var newObj = {} // 定义新的对象，收集转换之后的数据
        var zhKeys = Object.keys(item)
        zhKeys.forEach((key) => {
          // obj 对象中添加英文树形并赋值===将中文对象转换成英文对象
          // mapInfo[key]: 英文键
          if (
            mapInfo[key] === 'timeOfEntry' ||
            mapInfo[key] === 'correctionTime'
          ) {
            newObj[mapInfo[key]] = new Date(formatExcelDate(item[key]))
          } else {
            newObj[mapInfo[key]] = item[key]
          }
          //   if (whiteList.includes(mapInfo[key])) {
          //     newObj[mapInfo[key]] = new Date(formatExcelDate(item[key]))
          //   } else {
          //     newObj[mapInfo[key]] = item[key]
          //   }
        })
        console.log(newObj, 117)
        return newObj
      })
      //   console.log(newArr, 119)
    },
    async handleSuccess({ results }) {
      console.log(results, 77991)
      /*
      步骤:
      1-将数据中的每一项字段转换成英文,results中是中文
      2-发送请求
        2-1 封装api接口函数
        2-2 调用函数
        2-3 成功后，跳转回员工页面
      */
      //  1-处理数据
      /* 方法1： */
      // const mapInfo = {
      //   入职日期: 'timeOfEntry',
      //   手机号: 'mobile',
      //   姓名: 'username',
      //   转正日期: 'correctionTime',
      //   工号: 'workNumber',
      //   部门: 'departmentName',
      //   聘用形式: 'formOfEmployment'
      // }

      //  results.map((item) => {
      //   // console.log(item, 777)
      //   var newObj = {} // 定义新的对象，收集转换之后的数据
      //   var zhKeys = Object.keys(item)
      //   // ['姓名', '手机号', '入职日期', '转正日期', '工号', '部门']
      //   // console.log(zhKeys, 888)
      //   zhKeys.forEach((key) => {
      //     newObj[mapInfo[key]] = item[key]
      //   })
      //   return newObj
      // })

      /* 方法2: 封装方法 */
      var newResults = this.transData(results)
      console.log(newResults, 990)
      //   实现调用接口函数发送请求实现批量上传员工
      const res = await importEmployee(newResults)
      // 注意点: 批量上传手机号一定要是唯一值
      console.log(res, 110)
    }
  }
}
</script>
<style lang="less" scoped></style>
